package com.uam.core.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@Data
public class UAMConfig {

    @Value("${air.route.url}")
    private String airRouteUrl = null;

    @Value("${road.net.route.url}")
    private String roadNetRouteUrl = null;

    @Value("${route.altitude.need.base}")
    private boolean altitudeNeedBase = false;

    @Value("${system.time.buffer.seconds}")
    private int systemTimeBuffer = 0;

    @Value("${business.time.buffer.mode}")
    private boolean businessTimeBufferMode = false;

    @Value("${business.time.buffer.num}")
    private int businessTimeBufferNum = 0;

    @Value("${business.time.buffer.seconds}")
    private int businessTimeBuffer = 0;

    @Value("${station.buffer.meter}")
    private double stationBuffer = 0.00D;

    @Value("${conflict.buffer.meter}")
    private double conflictBuffer = 0.00D;

    @Value("${insert.point.distance.meter}")
    private double insertPointDistance = 0.00D;

    @Value("${track.point.num.min}")
    private int trackPointNumMin = 0;

    @Value("${altitude.buffer.meter}")
    private double altitudeBuffer = 0.00D;

    @Value("${angle.buffer}")
    private double angleBuffer = 0.00D;

    @Value("${extract.angle}")
    private double extractAngle = 0.00D;

    @Value("${earth.radius}")
    private double earthRadius = 0.00D;

    @Value("${circle.edge.num}")
    private int circleEdgeNum = 0;

    @Value("${quadrant.segment.num}")
    private int quadrantSegmentNum = 0;

    @Value("${keep.clear.safe.distance.num}")
    private int keepClearSafeDistanceNum = 0;

    @Value("${solve.conflict.retry.interval.seconds}")
    private int retryInterval = 0;

    @Value("${is.debug.mode}")
    private boolean isDebugMode = false;

    @Value("${compute.altitude.mode}")
    private boolean computeAltitudeMode = false;

    @Value("${aircraft.is.obstacle}")
    private boolean aircraftIsObstacle = false;


}

